// =======================================================================
// 
//       Filename:  commandelement.cpp
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  20.04.2010 00:55:51
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dominik 'domachine' Burgdörfer (-), dominik.burgdoerfer@googlemail.com
//        Company:  -
// 
// =======================================================================

#include "commandelement.hpp"
#include <stdexcept>

using namespace std;
using namespace boost;

namespace webplodder {
    namespace Template {
        CommandElement::CommandElement(File& parent)
            : Element(parent, COMMAND)
        {

        }

        CommandElement::CommandElement(File& parent,
                const string& name,
                const vector<shared_ptr<types::Object> >& params)
            : Element(parent, COMMAND),
              mName(name), mParams(params)
        {

        }

        string CommandElement::name() const
        {
            return mName;
        }

        void CommandElement::setName(const string& name)
        {
            mName = name;
        }

        const vector<shared_ptr<types::Object> >&
            CommandElement::parameters() const
        {
            return mParams;
        }

        void CommandElement::setParameters(
                const vector<shared_ptr<types::Object> >& params)
        {
            mParams = params;
        }

        bool CommandElement::getChar(char& ch)
        {
            throw logic_error("Cannot read from a CommandElement");
        }
    }
}
